The invention is directed to printed-circuit-board testers and in particular to keeping "backdriving" within safe levels.
In so-called in-circuit testing, connections of an individual circuit-board component to its circuit-board traces are verified by applying and verifying the presence of predetermined sequences of signals on those traces. The tester must perform these tests with the board in a powered-up condition. Consequently, neighbor components can tend to drive some of the input terminals of the component under test to levels different from those that the test requires. To prevent this, the tester sometimes simply uses low-output-impedance drivers to drive the trace in question to the level opposite that to which the neighbor component attempts to drive it. This overpowering of on-board drive circuitry is known as backdriving.
Backdriving has a long history, but it has always been controversial. This is because it usually results in current flow that exceeds rated levels. If currents of those magnitudes flow for too long a time, they can damage circuit-board components. So some software used for designing and executing circuit tests has for years included provisions for determining when test steps will result in excessive backdriving. When the software detects such a step, it warns the designer or inhibits such steps' execution.
Such features have their uses, and they have been used by some test designers throughout essentially the entire history of automatic in-circuit testing. But their shortcomings have been apparent for just as long. This is because component variations complicate the test-design tool's job of ensuring that excessive backdriving is avoided. The test designer sets backdrive limits in terms of backdrive current and backdrive duration. To avoid excessive backdriving, the test-design tool must impose restrictions that ensure compliance with those limits not only for components with nominal characteristics but also for those that occupy the ends of the characteristics distributions expected of the types of component involved.
Unfortunately, the range of variations that can result from combinations of various component types' characteristics distributions makes it necessary to circumscribe the set of permissible test-signal bursts severely. This makes it difficult for the test designer to arrive at a test that the test-design tool accepts as complying with the supplied backdrive limits. The consequence all too often is that the test designer either dispenses with backdrive limits altogether or sets the backdrive limits to levels to which the components involved should not be subjected. If the resultant test does not cause damage on a few trial boards, it is adopted for routine use. Clearly, this approach to test design is not optimal. In the first place, damage is not always apparent initially; a test that appears to cause no damage can in fact introduce a latent defect. Additionally, different component lots have different characteristics, so a test can work perfectly well for awhile and then suddenly start to cause catastrophic defects.